メインコンテンツにスキップ

ModUtil とイベント ​

Elin のイベントは BaseModManager.SubscribeEvent<T>(EventId, Action<T>) で登録できます。一部のイベントにはアトリビュートも用意されており、自動的に購読させることが可能です。

Mod ​

  • EVENT.ModsActivated

パラメータなし。すべての Mod パッケージが有効化された後に発行されます。

GameIO セーブ/ロード ​

  • EVENT.PreLoad、[ElinPreLoad]
  • EVENT.PostLoad、[ElinPostLoad]
  • EVENT.NewGame、[ElinPostLoad] // <- 同じアトリビュート
  • EVENT.PreSave、[ElinPreSave]
  • EVENT.PostSave、[ElinPostSave]

パラメータ:GameIOContext

  • [ElinGameIOProperty("chunkName")]

静的プロパティに付けると、指定したチャンク名でセーブデータへ自動的に保存・読み込みされます。対象のプロパティには静的な getter と setter の両方が必要です。チャンク名は宣言した型ごとのスコープなので、別々のクラスがどちらも "my_data" を使っても衝突しません。

推奨されるのは、mod が保存するデータをひとつのシリアライズ可能なクラスにまとめ、null 許容の静的インスタンスだけを公開する形です:

cs
public class MySaveData {
	public int Counter;

	[ElinGameIOProperty("my_data")]
	public static MySaveData? Singleton { get; set; }
}

ゲームシステム ​

  • EVENT.CharaCreated、[ElinCharaOnCreate]
  • EVENT.ThingCreated、[ElinThingOnCreate]

パラメータ:Chara または Thing

  • EVENT.ActPerformed、[ElinActPerform]

パラメータ:実行され終えた Act

  • EVENT.FeatApply

パラメータ:EVENT.ElinFeatApplyEventArgs(feat、owner、hint)。Feat が適用される際に発行されます。

  • EVENT.ReligionImporting

パラメータ:登録中の List<Religion>

  • ModUtil.AddContextMenuEntry、[ElinContextMenuEntry]

アトリビュートのパラメータ:string langEntry, string langDisplay = "" 手動 API:ModUtil.AddContextMenuEntry(Action onClick, string menuEntry, string displayName = "")SubGroup/ModButton1 のようなコンテキストメニュー項目を登録します。

  • EVENT.PreSceneInit、[ElinPreSceneInit]
  • EVENT.PostSceneInit、[ElinPostSceneInit]

パラメータ:Scene.Mode

ソースデータ ​

  • EVENT.SourceImporting
  • EVENT.SourceImported

パラメータなし。ソースシートのインポート前 / 後に発行されます。

  • EVENT.SourceLangSet

パラメータ:string langCode

ドラマ ​

  • [ElinDramaActionInvoke]
  • [ElinDramaActionParser]

Drama API を参照してください。

This project is an unofficial documentation site and is not affiliated with, endorsed by, or associated with Elin or Lafrontier / Noa. All trademarks are the property of their respective owners.